summaryrefslogtreecommitdiffstats
path: root/src/core/core.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/core.cpp')
-rw-r--r--src/core/core.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp
index fb9b25d12..4a1372d15 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -380,9 +380,7 @@ struct System::Impl {
gpu_core->NotifyShutdown();
}
- kernel.ShutdownCores();
- cpu_manager.Shutdown();
- debugger.reset();
+ kernel.SuspendApplication(true);
if (services) {
services->KillNVNFlinger();
}
@@ -398,6 +396,9 @@ struct System::Impl {
gpu_core.reset();
host1x_core.reset();
perf_stats.reset();
+ kernel.ShutdownCores();
+ cpu_manager.Shutdown();
+ debugger.reset();
kernel.Shutdown();
memory.Reset();
@@ -938,6 +939,10 @@ const Network::RoomNetwork& System::GetRoomNetwork() const {
return impl->room_network;
}
+void System::RunServer(std::unique_ptr<Service::ServerManager>&& server_manager) {
+ return impl->kernel.RunServer(std::move(server_manager));
+}
+
void System::RegisterExecuteProgramCallback(ExecuteProgramCallback&& callback) {
impl->execute_program_callback = std::move(callback);
}